home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 49 / Amiga Format CD49 (2000-01-17)(Future Publishing)(GB)(Track 1 of 3)[!][issue 2000-02].iso / -serious- / programming / e / powerd0.06 / modules / rexx / storage.m < prev   
Text File  |  1999-11-30  |  2KB  |  139 lines

  1. MODULE    'exec/nodes',
  2.             'exec/lists',
  3.             'exec/ports',
  4.             'exec/libraries'
  5.  
  6. OBJECT NexxStr
  7.     Ivalue:LONG,
  8.     Length:UWORD,
  9.     Flags:UBYTE,
  10.     Hash:UBYTE,
  11.     Buff[8]:BYTE
  12.  
  13. CONST    NXADDLEN=9
  14. // #define IVALUE(nsPtr) (nsPtr->ns_Ivalue)
  15.  
  16. /*    donot work for now
  17. FLAG    NS_KEEP,
  18.         NS_STRING,
  19.         NS_NOTNUM,
  20.         NS_NUMBER,
  21.         NS_BINARY,
  22.         NS_FLOAT,
  23.         NS_EXT,
  24.         NS_SOURCE
  25.  
  26. CONST    NSF_INTNUM=NSF_NUMBER|NSF_BINARY|NSF_STRING
  27.         NSF_DPNUM =NSF_NUMBER|NSF_FLOAT
  28.         NSF_ALPHA =NSF_NOTNUM|NSF_STRING
  29.         NSF_OWNED =NSF_SOURCE|NSF_EXT|NSF_KEEP
  30.         KEEPSTR   =NSF_STRING|NSF_SOURCE|NSF_NOTNUM
  31.         KEEPNUM   =NSF_STRING|NSF_SOURCE|NSF_NUMBER|NSF_BINARY
  32. */
  33.  
  34. OBJECT RexxArg
  35.     Size:LONG,
  36.     Length:UWORD,
  37.     Flags:UBYTE,
  38.     Hash:UBYTE,
  39.     Buff[8]:BYTE
  40.  
  41. OBJECT RexxMsg
  42.     Node:Message,
  43.     TaskBlock:APTR,
  44.     LibBase:APTR,
  45.     Action:LONG,
  46.     Result1:LONG,
  47.     Result2:LONG,
  48.     Args[16]:PTR TO CHAR,
  49.  
  50.     PassPort:PTR TO MsgPort,
  51.     CommAddr:PTR TO CHAR,
  52.     FileExt:PTR TO CHAR,
  53.     StdIn:LONG,
  54.     StdOut:LONG,
  55.     Avail:LONG
  56.  
  57. // #define ARG0(rmp) (rmp->rm_Args[0])    /* start of argblock        */
  58. // #define ARG1(rmp) (rmp->rm_Args[1])    /* first argument        */
  59. // #define ARG2(rmp) (rmp->rm_Args[2])    /* second argument        */
  60.  
  61. CONST    MAXRMARG=15
  62.  
  63. CONST    RXCOMM  =$01000000,
  64.         RXFUNC  =$02000000,
  65.         RXCLOSE =$03000000,
  66.         RXQUERY =$04000000,
  67.         RXADDFH =$07000000,
  68.         RXADDLIB=$08000000,
  69.         RXREMLIB=$09000000,
  70.         RXADDCON=$0A000000,
  71.         RXREMCON=$0B000000,
  72.         RXTCOPN =$0C000000,
  73.         RXTCCLS =$0D000000
  74.  
  75. FLAG    RXF_NOIO=16,
  76.         RXF_RESULT,
  77.         RXF_STRING,
  78.         RXF_TOKEN,
  79.         RXF_NONRET
  80.  
  81. CONST    RXCODEMASK=$FF000000,
  82.         RXARGMASK =$0000000F
  83.  
  84. OBJECT RexxRsrc
  85.     Node:Node,
  86.     Func:WORD,
  87.     Base:APTR,
  88.     Size:LONG,
  89.     Arg1:LONG,
  90.     Arg2:LONG
  91.  
  92. ENUM    RRT_ANY,
  93.         RRT_LIB,
  94.         RRT_PORT,
  95.         RRT_FILE,
  96.         RRT_HOST,
  97.         RRT_CLIP
  98.  
  99. CONST    GLOBALSZ=200
  100.  
  101. OBJECT RexxTask
  102.     Global[GLOBALSZ]:BYTE,
  103.     MsgPort:MsgPort,
  104.     Flags:UBYTE,
  105.     SigBit:BYTE,
  106.  
  107.     ClientID:APTR,
  108.     MsgPkt:APTR,
  109.     TaskID:APTR,
  110.     RexxPort:APTR,
  111.  
  112.     ErrTrap:APTR,
  113.     StackPtr:APTR,
  114.  
  115.     Header1:List,
  116.     Header2:List,
  117.     Header3:List,
  118.     Header4:List,
  119.     Header5:List
  120.  
  121. FLAG    RTF_TRACE,
  122.         RTF_HALT,
  123.         RTF_SUSP,
  124.         RTF_TCUSE,
  125.         RTF_WAIT=6,
  126.         RTF_CLOSE
  127.  
  128. CONST    MEMQUANT=16,
  129.         MEMMASK=$FFFFFFF0
  130.  
  131. CONST    MEMQUICK=1<<0,
  132.         MEMCLEAR=1<<16
  133.  
  134. OBJECT SrcNode
  135.     Succ:PTR TO SrcNode,
  136.     Pred:PTR TO SrcNode,
  137.     Ptr:APTR,
  138.     Size:LONG
  139.